[INFO] cloning repository https://github.com/IanS5/rush
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/IanS5/rush" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIanS5%2Frush", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIanS5%2Frush'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 213bca97ccfaa57dd8d7578dcf46761ea8d4efeb
[INFO] checking IanS5/rush against master#cfbc6d4cf1acbac5c025acf8ed68929caa551df3 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIanS5%2Frush" "/workspace/builds/worker-0/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/IanS5/rush on toolchain cfbc6d4cf1acbac5c025acf8ed68929caa551df3
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/IanS5/rush
[INFO] finished tweaking git repo https://github.com/IanS5/rush
[INFO] tweaked toml for git repo https://github.com/IanS5/rush written to /workspace/builds/worker-0/source/Cargo.toml
[INFO] crate git repo https://github.com/IanS5/rush already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] e52542084e122fca9fde0f5dcf3f2aee352b99cf820c049de2344bea2576cdc0
[INFO] running `Command { std: "docker" "start" "-a" "e52542084e122fca9fde0f5dcf3f2aee352b99cf820c049de2344bea2576cdc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e52542084e122fca9fde0f5dcf3f2aee352b99cf820c049de2344bea2576cdc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e52542084e122fca9fde0f5dcf3f2aee352b99cf820c049de2344bea2576cdc0", kill_on_drop: false }`
[INFO] [stdout] e52542084e122fca9fde0f5dcf3f2aee352b99cf820c049de2344bea2576cdc0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0929f1a7c7a9374801cc3020f8f8808e70a24afaf86fdae50cb48c1713f04e96
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "0929f1a7c7a9374801cc3020f8f8808e70a24afaf86fdae50cb48c1713f04e96", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.42
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling cc v1.0.18
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling nix v0.11.0
[INFO] [stderr]     Checking rustc-demangle v0.1.8
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking lazy_static v1.2.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.24
[INFO] [stderr]    Compiling memchr v2.1.0
[INFO] [stderr]    Compiling quote v0.6.10
[INFO] [stderr]    Compiling backtrace-sys v0.1.23
[INFO] [stderr]    Compiling syn v0.15.21
[INFO] [stderr]     Checking nom v4.1.1
[INFO] [stderr]     Checking backtrace v0.3.9
[INFO] [stderr]    Compiling synstructure v0.10.1
[INFO] [stderr]    Compiling failure_derive v0.1.3
[INFO] [stderr]     Checking failure v0.1.3
[INFO] [stderr]     Checking nixterm v0.1.2
[INFO] [stderr]     Checking rush v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]   --> src/expr/parser.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 |         match try!(self.parse_precedence(p)) {
[INFO] [stdout]    |               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | /// eat any string of valid non-newline whitespace characters
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | /// Characters Recognized as Whitespace:
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | /// - \t (tab)
[INFO] [stdout]    | ^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | /// - \  (space)
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | /// Line endings are whitespace that move the cursor to the next line
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | /// A conditional can join two commands, depending on the result of the prior command the second may not be executed
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | ///
[INFO] [stdout]    | ^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | /// Supported conditional operators
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | /// - && - proceed only if the last command was successful
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | /// - || - proceed only if the last command failed
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | /// IO Operators can modify the modify the file descriptor table, close, open, read, and write to files.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | ///
[INFO] [stdout]    | ^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | /// IO operations appear after a command, they are optionally proceeded by a file descriptor, and may be followed by several different types of WORD
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | ///
[INFO] [stdout]    | ^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | /// Supported IO Operators:
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | /// - <<- - Here document (remove tabs)
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | /// - << - Here document
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | /// - >> - Append to a file
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | /// - >| - Open a file for writing (fail if the file does not exist)
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | /// - >  - Open/Create a file for writing
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | /// - <  - Open a file for reading
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | /// - >& - Duplicate an output file descriptor (basically just the dup2 systemcall)
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | /// - <& - Duplicate an input file descriptor (basically just the dup2 systemcall)
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | /// - <> - Open a file for reading an writing
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | /// Pipes connect a command's standard out to another command's standard in
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | /// A separator splits WORDS into commands when they are on the same line
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | ///
[INFO] [stdout]    | ^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | /// For example `echo hello; echo hi` prints "hello<newline>hi"
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | /// while `echo hello echo hi` prints "hello echo hi"
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | /// Supported Separators
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | /// - ; Acts a newline
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | /// - & same as `;`, but asynchronously calls the previous command
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | /// An io number is the file descriptor that comes before the an IO operator
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/env/traps.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 |     static ref GLOBAL_TRAPS: RwLock<Traps> = { RwLock::new(Traps::with_capacity(31)) };
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/env/traps.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type LineFn = Box<FnMut() + Send + Sync + 'static>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut() + Send + Sync + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/expr/errors.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^ help: use `dyn`: `dyn failure::Fail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lang/errors.rs:64:32
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^ help: use `dyn`: `dyn failure::Fail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env::traps`
[INFO] [stdout]  --> src/lang/exec.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use env::traps;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lang::word::Word`
[INFO] [stdout]  --> src/lang/exec.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use lang::word::Word;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom`
[INFO] [stdout]  --> src/lang/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nom;
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lang::parser`
[INFO] [stdout]  --> src/shell/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use lang::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> src/shell/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stdout]   --> src/expr/parser.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 |         match try!(self.parse_precedence(p)) {
[INFO] [stdout]    |               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | /// eat any string of valid non-newline whitespace characters
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | /// Characters Recognized as Whitespace:
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | /// - \t (tab)
[INFO] [stdout]    | ^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | /// - \  (space)
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | /// Line endings are whitespace that move the cursor to the next line
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | /// A conditional can join two commands, depending on the result of the prior command the second may not be executed
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | ///
[INFO] [stdout]    | ^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | /// Supported conditional operators
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | /// - && - proceed only if the last command was successful
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | /// - || - proceed only if the last command failed
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | /// IO Operators can modify the modify the file descriptor table, close, open, read, and write to files.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | ///
[INFO] [stdout]    | ^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | /// IO operations appear after a command, they are optionally proceeded by a file descriptor, and may be followed by several different types of WORD
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | ///
[INFO] [stdout]    | ^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | /// Supported IO Operators:
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | /// - <<- - Here document (remove tabs)
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | /// - << - Here document
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | /// - >> - Append to a file
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | /// - >| - Open a file for writing (fail if the file does not exist)
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | /// - >  - Open/Create a file for writing
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | /// - <  - Open a file for reading
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | /// - >& - Duplicate an output file descriptor (basically just the dup2 systemcall)
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | /// - <& - Duplicate an input file descriptor (basically just the dup2 systemcall)
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | /// - <> - Open a file for reading an writing
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | /// Pipes connect a command's standard out to another command's standard in
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | /// A separator splits WORDS into commands when they are on the same line
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | ///
[INFO] [stdout]    | ^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | /// For example `echo hello; echo hi` prints "hello<newline>hi"
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | /// while `echo hello echo hi` prints "hello echo hi"
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | /// Supported Separators
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | /// - ; Acts a newline
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | /// - & same as `;`, but asynchronously calls the previous command
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/lang/parser.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | /// An io number is the file descriptor that comes before the an IO operator
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/env/traps.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 |     static ref GLOBAL_TRAPS: RwLock<Traps> = { RwLock::new(Traps::with_capacity(31)) };
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/env/traps.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type LineFn = Box<FnMut() + Send + Sync + 'static>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut() + Send + Sync + 'static`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/expr/errors.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^ help: use `dyn`: `dyn failure::Fail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lang/errors.rs:64:32
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn cause(&self) -> Option<&failure::Fail> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^ help: use `dyn`: `dyn failure::Fail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env::traps`
[INFO] [stdout]  --> src/lang/exec.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use env::traps;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lang::word::Word`
[INFO] [stdout]  --> src/lang/exec.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use lang::word::Word;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom`
[INFO] [stdout]  --> src/lang/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nom;
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lang::parser`
[INFO] [stdout]  --> src/shell/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use lang::parser;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> src/shell/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'failure::core::str::<impl str>::trim_left_matches': superseded by `trim_start_matches`
[INFO] [stdout]   --> src/env/traps.rs:96:10
[INFO] [stdout]    |
[INFO] [stdout] 96 |         .trim_left_matches("SIG")
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated item 'failure::core::str::<impl str>::trim_left_matches': superseded by `trim_start_matches`
[INFO] [stdout]   --> src/env/traps.rs:96:10
[INFO] [stdout]    |
[INFO] [stdout] 96 |         .trim_left_matches("SIG")
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exit_code`
[INFO] [stdout]    --> src/lang/exec.rs:242:21
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 let mut exit_code = 0;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exit_code`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exit_code`
[INFO] [stdout]    --> src/lang/exec.rs:251:21
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let mut exit_code = 0;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exit_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/lang/exec.rs:292:68
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 .map_or(Err(ErrorKind::InvalidJobId(jid).into()), |v| {
[INFO] [stdout]     |                                                                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environ`
[INFO] [stdout]   --> src/shell/mod.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn readline(&mut self, environ: &mut lang::ExecutionContext) -> nixterm::Result<String> {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lang/exec.rs:242:21
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 let mut exit_code = 0;
[INFO] [stdout]     |                     ----^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lang/exec.rs:251:21
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let mut exit_code = 0;
[INFO] [stdout]     |                     ----^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exit_code`
[INFO] [stdout]    --> src/lang/exec.rs:242:21
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 let mut exit_code = 0;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exit_code`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exit_code`
[INFO] [stdout]    --> src/lang/exec.rs:251:21
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let mut exit_code = 0;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exit_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/lang/exec.rs:292:68
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 .map_or(Err(ErrorKind::InvalidJobId(jid).into()), |v| {
[INFO] [stdout]     |                                                                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environ`
[INFO] [stdout]   --> src/shell/mod.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn readline(&mut self, environ: &mut lang::ExecutionContext) -> nixterm::Result<String> {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/lang/exec.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         self.await_all(&jids);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     unistd::close(*fd);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     unistd::dup2(stdin, 0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:150:21
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     unistd::dup2(stdout, 1);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 unistd::chdir(path);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 unistd::close(stdin);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:237:17
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 unistd::close(stdout);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     self.await_all(&jids);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:254:21
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     self.await_all(&jids);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:260:17
[INFO] [stdout]     |
[INFO] [stdout] 260 |                 self.await_all(&jobs_left);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:269:21
[INFO] [stdout]     |
[INFO] [stdout] 269 |                     self.await_all(&jobs_right);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/shell/mod.rs:98:13
[INFO] [stdout]     |
[INFO] [stdout] 98  | /             self.term
[INFO] [stdout] 99  | |                 .writer()
[INFO] [stdout] 100 | |                 .shift_cursor(xoffset - backtrack, 0)
[INFO] [stdout] 101 | |                 .done();
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/shell/mod.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 | /                         self.term
[INFO] [stdout] 107 | |                             .writer()
[INFO] [stdout] 108 | |                             .print(&self.command_buffer)
[INFO] [stdout] 109 | |                             .print("exit")
[INFO] [stdout] 110 | |                             .done();
[INFO] [stdout]     | |____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/shell/mod.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 | /                         self.term
[INFO] [stdout] 116 | |                             .writer()
[INFO] [stdout] 117 | |                             .print(&self.command_buffer)
[INFO] [stdout] 118 | |                             .print("^C")
[INFO] [stdout] 119 | |                             .done();
[INFO] [stdout]     | |____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/shell/mod.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |         self.term.update(self.old_settings.clone());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 65 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lang/exec.rs:242:21
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 let mut exit_code = 0;
[INFO] [stdout]     |                     ----^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lang/exec.rs:251:21
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let mut exit_code = 0;
[INFO] [stdout]     |                     ----^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/lang/exec.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         self.await_all(&jids);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     unistd::close(*fd);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     unistd::dup2(stdin, 0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:150:21
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     unistd::dup2(stdout, 1);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:153:17
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 unistd::chdir(path);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 unistd::close(stdin);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:237:17
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 unistd::close(stdout);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     self.await_all(&jids);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:254:21
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     self.await_all(&jids);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:260:17
[INFO] [stdout]     |
[INFO] [stdout] 260 |                 self.await_all(&jobs_left);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/lang/exec.rs:269:21
[INFO] [stdout]     |
[INFO] [stdout] 269 |                     self.await_all(&jobs_right);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/shell/mod.rs:98:13
[INFO] [stdout]     |
[INFO] [stdout] 98  | /             self.term
[INFO] [stdout] 99  | |                 .writer()
[INFO] [stdout] 100 | |                 .shift_cursor(xoffset - backtrack, 0)
[INFO] [stdout] 101 | |                 .done();
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/shell/mod.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 | /                         self.term
[INFO] [stdout] 107 | |                             .writer()
[INFO] [stdout] 108 | |                             .print(&self.command_buffer)
[INFO] [stdout] 109 | |                             .print("exit")
[INFO] [stdout] 110 | |                             .done();
[INFO] [stdout]     | |____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/shell/mod.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 | /                         self.term
[INFO] [stdout] 116 | |                             .writer()
[INFO] [stdout] 117 | |                             .print(&self.command_buffer)
[INFO] [stdout] 118 | |                             .print("^C")
[INFO] [stdout] 119 | |                             .done();
[INFO] [stdout]     | |____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/shell/mod.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |         self.term.update(self.old_settings.clone());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 65 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 24.20s
[INFO] running `Command { std: "docker" "inspect" "0929f1a7c7a9374801cc3020f8f8808e70a24afaf86fdae50cb48c1713f04e96", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0929f1a7c7a9374801cc3020f8f8808e70a24afaf86fdae50cb48c1713f04e96", kill_on_drop: false }`
[INFO] [stdout] 0929f1a7c7a9374801cc3020f8f8808e70a24afaf86fdae50cb48c1713f04e96
